package dormouse.vfs.ui.renderers;

import org.apache.commons.vfs2.FileObject;

/**
 * This interface defines the operations required for a file renderer. 
 * 
 * @param <C>
 *            the file renderer component
 */
public interface IFileRenderer<C> {

	/**
	 * This method is responsible for rendering a single file.
	 * 
	 * @param file
	 */
	 void render(FileObject file);

	/**
	 * This method gets the current instance of the renderer.
	 * 
	 * @return the renderer component
	 */
	 C getComponent();

	/**
	 * This method gets the supported file extensions.
	 * 
	 * @return a list of supported file extensions
	 */
	 String[] getFileExtensions();
}
